[新機能] AWS Elemental MediaLiveでRTMPとRTMPS出力がサポートされました!
はじめに
清水です。AWS Media Servicesの1つであるAWS Elemental MediaLive、これまでもいくつか機能アップデートがありましたが、先日さらにRTMPとRTMPSの出力がサポートされるというアップデートがありました。
- AWS Developer Forums: AWS Elemental MediaLive Adds Support for RTMP and RTMPS Outputs
- AWS Elemental MediaLive Adds Support for RTMP and RTMPS Outputs
- AWS Elemental MediaLive が、RTMP および RTMPS の出力のサポートを追加
RTMP形式のストリーミングははエンドユーザへの配信では最近はあまり使われなくなりました。しかしライブストリームの伝送、例えばカメラ、マイクを接続したPC上の配信ソフトウェアからAWS Elemental MediaLiveへの伝送、その他ライブ配信プラットフォームへの伝送では頻繁に使われる形式です。今回、AWS Elemental MediaLiveがRTMP/RTMPSでの出力をサポートしたことは、AWS Elemental MediaLiveをハブのように使い、別のライブ配信プラットフォームへの映像伝送も可能になったと考えることができます。実際、マネージメントコンソールからRTMP Push形式のtemplateを確認すると、YouTube、Facebook、Twitchへの出力のサンプルがありました。これらのプラットフォームにライブ配信を行いながら、かつ、これまでのようにAWS Elemental MediaPackageやAWS Elemental MediaStoreなどAWS Media Servicesとの連携、またS3へのアーカイブ出力などが行えます。
本エントリではこのRTMP Output機能を使用して、AWS Elemental MediaLiveの出力をYouTube Liveに送信、YouTube側でライブ配信を視聴することを試してみたのでまとめてみます。
AWS Elemental MediaLiveからのRTMP Outputを受信するYouTube Liveの設定
YouTubeのクリエイターツールから「ライブストリーミング」 > 「イベント」で新しいライブ イベントを作成します。
ライブ イベント作成後、「取り込み設定」にてストリームキーを生成します。今回は「1回限りのストリームキー」を選択しました。エンコーダーは「その他のエンコーダ」を選択します。ストリーム名、URLは後ほどMediaLive側に設定するので控えておきます。
RTMPを出力するAWS Elemental MediaLiveの設定
続いて、MediaLiveでRTMP出力を設定します。マネージメントコンソールからCreate Channelで進みます。Channel templateに"RTMP Push"の項目がありますね。今回はこちらから設定していきます。
Channel templateの"RTMP Push"を選択すると、以下のようにOutput groupsにYouTube、Facebook、Twitchの3つのRTMP出力先が作成されます。
ここからYouTubeの"Output 1"を設定します。RTMP destination Aに先ほどのYouTube Liveのライブ イベントのプライマリ サーバーのURLとストリーム名、RTMP destination Bにはバックアップ サーバーのURLとストリーム名を入力してみました。FacebookとTwitchのRTMP Output設定は使用しないので削除しておきます。[Create Channel]MediaLiveのChannelを作成します。
配信ソフトウェアからAWS Elemental MediaLiveに配信してYouTube Liveでの映像視聴を確認する
設定ができたので、配信ソフトウェアからMediaLiveに映像を流し、MediaLiveを経由してYouTube Liveでの映像視聴をしてみます。MediaLiveのChannelをStartさせ、配信ソフトウェアから映像を流します。今回はOBS Studioを使用しました。配信先は以下のように、MediaLiveのInputのEndpointになります。
OBS Studioからの配信を開始したら、YouTube Liveのライブコントロールルームでプレビューを確認しましょう。プレビューボタンで開始します。
プレビューの準備ができたら、プレビュー映像を視聴してみましょう。プレビュー欄のPlayerの再生マークをクリックします。プレビューで問題なければ、[ストリーミングを開始]ボタンで本番ストリーミングを開始します。
MediaLiveに流している映像がYouTube Liveで視聴できるのは不思議な感じですね!
まとめ
AWS Elemental MediaLiveの新機能、RTMP/RTMPSの出力サポートを使って、AWS Elemental MediaLiveからYouTube Liveに映像を配信、YouTube Liveで視聴をしてみました。今回AWS Elemental MediaLiveのOutputはYouTube LiveへのRTMP出力のみを設定しましたが、他AWS Media Servicesとの連携やS3へのアーカイブ出力などと組み合わせると、いろいろとできることが広がりますね!また未検証ですがWowza Streaming Engineなど他のストリーミングサーバとの連携もできるのではないでしょうか。とっても魅力的な機能アップデートと思います。
なお、今回のAWS Elemental MediaLiveのRTMP Output対応ですが、昨年末に「この機能はないのか?」というフォーラムの記事(質問)があり、当時は「現時点ではサポートされていないので、サポートセンターから機能追加のリクエストしておいて。」という回答でした。この度めでたく、この機能が追加されたことになりますね!